package com.lonely.system.enums;

import com.lonely.common.exception.BusinessException;

/**
 * @author: 黄志标
 * @date: 2025/5/27 13:34
 * @description: 工厂相关的枚举
 */
public class SysFactoryEnum {


    /**
     * 工厂状态枚举
     */
    public enum FactoryStatus {

        /**
         * 启用
         */
        ENABLE(0),

        /**
         * 停用
         */
        DISABLE(1),

        /**
         * 停单
         */
        SUSPEND_SPLIT_ORDERS(2),
        ;

        /**
         * 状态
         */
        public final int status;

        FactoryStatus(int status) {
            this.status = status;
        }
    }

    /**
     * 工厂类型枚举
     */
    public enum FactoryType {

        /**
         * 自有分厂
         */
        OWN(1),

        /**
         * 合作分厂
         */
        COOPERATIVE(2),
        ;

        /**
         * 工厂类型
         */
        public final int type;

        FactoryType(int type) {
            this.type = type;
        }


        /**
         * 根据工厂类型获取枚举
         *
         * @param type
         * @return
         */
        public static FactoryType getInstance(int type) {
            for (FactoryType value : values()) {
                if (value.type == type) {
                    return value;
                }
            }
            throw new BusinessException("工厂类型不存在");
        }
    }
}
